package com.huabo.audit.oracle.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.huabo.audit.config.IgnoreSwaggerParameter;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;


@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Table(name="TBL_REPORT")
@ApiModel(value="审计报告实体类对象", description="")
public class TblReportEntity {
	public final static Integer FHZ=5;//复核中
	public final static Integer FHTZ=6;//复核调整
	public final static Integer FHTG=9;//复核通过
	public final static Integer FHZZ=10;//复核终止
	
	
	public final static Integer SPZ=1;//审批中
	public final static Integer XTZ=2;//需调整
	public final static Integer YTG=3;//已通过
	public final static Integer YZZ=4;//已终止
	
	public final static Integer ZQYJ=7;//征求意见
	public final static Integer ZQYJTZ=8;//征求意见调整
	public final static Integer ZQYJTG=11;//征求意见通过
	public final static Integer ZQYJZZ=12;//征求意见终止

//	private static final long serialVersionUID = 1L;
	
	
	@TableId(value = "reportid", type= IdType.AUTO)
	@ApiModelProperty(value="")
	@Id
    @GeneratedValue(strategy = GenerationType.IDENTITY,generator = "select HIBERNATE_SEQUENCE.nextval from dual")
	private BigDecimal reportid;
	
	@ApiModelProperty(value="", hidden = true)
	@IgnoreSwaggerParameter
	@Transient
	private TblReporttempleEntity tblReporttemple;
	
	@TableField(value = "reportname")
	@ApiModelProperty(value="")
	private String reportname;
	
	@TableField(value = "reporttime")
	@ApiModelProperty(value="")
//	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd", iso = DateTimeFormat.ISO.DATE_TIME)
	private Date reporttime;
	
	@TableField(value = "reporttype")
	@ApiModelProperty(value="")
	private String reporttype;
	
	@TableField(value = "reportmode")
	@ApiModelProperty(value="")
	private String reportmode;
	
	@TableField(value = "reporter")
	@ApiModelProperty(value="")
	private String reporter;
	
	@TableField(value = "reportdepartment")
	@ApiModelProperty(value="")
	private String reportdepartment;
	
	@TableField(value = "reportstatus")
	@ApiModelProperty(value="")
	private Integer reportstatus;
	
	@TableField(value = "reportfile")
	@ApiModelProperty(value="")
	private String reportfile;
	
	@TableField(value = "memo")
	@ApiModelProperty(value="")
	private String memo;
	
	@TableField(value = "type")
	@ApiModelProperty(value="")
	private String type;
	
	@TableField(value = "repdesc")
	@ApiModelProperty(value="")
	private String repdesc;
	
	@TableField(value = "projectid")
	@ApiModelProperty(value="项目id")
	@Column(name="projectId")
	private BigDecimal projectId;
	
	@TableField(value = "sendtime")
	@ApiModelProperty(value="邮件发送时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd", iso = DateTimeFormat.ISO.DATE_TIME)
	@Column(name="SENDTIME")
	private Date sendTime;
	
	@TableField(value = "FHSTAFFID")
	@ApiModelProperty(value="复核人id")
	private String fhstaffid;
	
	@TableField(value = "FHSTAFFNAME")
	@ApiModelProperty(value="复核人姓名")
	private String fhstaffname;
	
	@TableField(value = "ZQYJSTAFFID")
	@ApiModelProperty(value="征求人id")
	private String zqyjstaffid;
	
	@TableField(value = "ZQYJSTAFFNAME")
	@ApiModelProperty(value="征求人姓名")
	private String zqyjstaffname;
	
	@TableField(value = "orgid")
	@ApiModelProperty(value="", hidden = true)
	private Integer orgid;
	
	@TableField(value = "REPORTERID")
	@ApiModelProperty(value="")
	private Integer reporterid;
	
	@TableField(value = "REPORTDEPARTMENTID")
	@ApiModelProperty(value="")
	private Integer reportdepartmentid;
}
